package com.lzx.reggie.utils

import java.util.*


/**
 * 随机生成验证码工具类
 */
object ValidateCodeUtils {
    /**
     * 随机生成验证码
     * @param length 长度为4位或者6位
     * @return
     */
    fun generateValidateCode(length: Int): Int {
        var code: Int?
        if (length == 4) {
            code = Random().nextInt(9999) //生成随机数，最大为9999
            if (code < 1000) {
                code += 1000 //保证随机数为4位数字
            }
        } else if (length == 6) {
            code = Random().nextInt(999999) //生成随机数，最大为999999
            if (code < 100000) {
                code += 100000 //保证随机数为6位数字
            }
        } else {
            throw RuntimeException("只能生成4位或6位数字验证码")
        }
        return code
    }

    /**
     * 随机生成指定长度字符串验证码
     * @param length 长度
     * @return
     */
    fun generateValidateCode4String(length: Int): String {
        val rdm = Random()
        val hash1 = Integer.toHexString(rdm.nextInt())
        return hash1.substring(0, length)
    }
}
